package com.zygh.coordinatestore.controller;

import com.zygh.coordinatestore.service.StaffMarkService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 警员足迹
 * @author lee
 */
@RequestMapping("/staff/mark")
@RestController
public class StaffMarkController {

    private StaffMarkService staffMarkService;
    @Autowired
    private void setStaffMarkService(StaffMarkService staffMarkService){
        this.staffMarkService = staffMarkService;
    }

    /**
     * 警员足迹
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @param staffCode 警员
     * @param gpsid gpsid
     * @return List
     */
    @GetMapping("/staff")
    public List getStaff(String startTime,String endTime,String staffCode,String gpsid){
        return staffMarkService.getStaffMark(startTime,endTime,staffCode,gpsid);
    }

    /**
     * 警员足迹热力图
     * @param areaId 区域id
     * @param sectionId 单位id
     * @param station 部门
     * @return List
     */
    @GetMapping("/staff/hot")
    public List getHot(Integer areaId,String sectionId,String station){
        try {
            return staffMarkService.getHotMark( areaId, sectionId,station);
        }catch (Exception e){
            e.printStackTrace();
            return null;
        }
    }

    /**
     *圈选范围圆型
     * @param lng 经度
     * @param lat 纬度
     * @param radius 半径
     * @return CommonResult
     */
    @GetMapping("/circle")
    public List getCircle( Double lng, Double lat,Double radius){
        return staffMarkService.circle(lng,lat,radius);
    }

    /**
     * 圈选范围多边形
     * @param lng 经度串
     * @param lat 纬度串
     * @return CommonResult
     */
    @GetMapping("/polygon")
    public List getPolygon( Double[] lng, Double[] lat){
        return staffMarkService.polygon(lng,lat);
    }
}
